#pragma once

#include "GameObject.h"

namespace game_engine { namespace library
{

/*!
 * \class TerrainObject
 * \brief 
 */
class TerrainObject : public game_engine::GameObject
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    TerrainObject(void);
    TerrainObject(Scene *scn, const string &n, const string &t, 
        const DrawLevelType d);
    virtual ~TerrainObject(void);

    // Others
    void playBgm(void) throw(...);
    void muteBgm(const bool mute) throw (...);
    void stopBgm(void) throw(...);

    // Setters
    void setDescriptors(const string &infoFile, const string &textFile);
    void setBgm(const string &audioFile, const bool loop);

};

}}
